Be more specific about version errors, raise min required viona API#1027
Merged
Be more specific about version errors, raise min required viona API#1027
Conversation
The recent multiqueue work includes an unconditional ioctl that was introduced in V6 of the viona API. Propolis' expectation should have been raised then, but it was missed in review; instead, trying to create a vNIC on a too-old OS results in propolis panicking about `Inappropriate ioctl for device`. So, raise the minimum viona API as required. propolis-server will exit at start if the OS is too old. The message wasn't super clear though, complaining that: > viona API version mismatch 4 != 6 so this comes with some adjustments to the version error reporting that now produce this error on a too-old host: > 0: checking version of viona > 1: API version 4 is not at or above 6. OS is too old? propolis-standalone allows you to try running something on a too-old host on the expectation you're actively hacking on either the host or Propolis, so it just offers > ERRO viona: API version 4 is not at or above 6. OS is too old? before continuing on (and in this case, panicking about the an inappropriate ioctl).
Contributor
|
We could also fairly trivially make propolis work with older versions, which was kind of in my mind with the other (temporary) PR. If that isn't something we want to do then this looks good to me and cleans stuff up too. |
dancrossnyc
approved these changes
Jan 29, 2026
Member
Author
we talked about it a bit on the side and agree that Propolis supporting older viona (and imo bhyve) API versions isn't really important. unless someone really wants to run propolis on an older host OS, "bump the min version and move on" is probably the way to go here! if the need comes up in the future, we can figure out how to more gracefully handle older API versions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The recent multiqueue work includes an unconditional ioctl that was introduced in V6 of the viona API. Propolis' expectation should have been raised then, but it was missed in review; instead, trying to create a vNIC on a too-old OS results in propolis panicking about
Inappropriate ioctl for device.So, raise the minimum viona API as required. propolis-server will exit at start if the OS is too old.
The message wasn't super clear though, complaining that:
so this comes with some adjustments to the version error reporting that now produce this error on a too-old host:
propolis-standalone allows you to try running something on a too-old host on the expectation you're actively hacking on either the host or Propolis, so it just offers
before continuing on (and in this case, panicking about the an inappropriate ioctl).
--
this ended up not being really derived off of #1022 much at all so it's a distinct PR rather than a force push over @citrus-it's
vionaver😁